#include <cstdio>
#include <algorithm>
#include <cmath>


struct node {
	int x, y;
};

int cal1(node a, node b) {
	return (int)std::sqrt(std::pow(a.x - b.x, 2) + std::pow(a.y - b.y, 2));
}

int cal2(node a, node b) {
	return std::abs(a.x - b.x) + std::abs(a.y - b.y);
}

int cal3(node a, node b) {
	return std::max(std::abs(a.x - b.x), std::abs(a.y - b.y));
}


/**
 * 
 * 时间复杂度：O(1)
 * 空间复杂度：O(1)
 * 
 * 距离
 * @return
 */
int main() {
	int x1, y1, x2, y2;
	scanf("%d%d", &x1, &y1);
	scanf("%d%d", &x2, &y2);

	node a = { x1, y1 };
	node b = { x2, y2 };

	printf("%d\n", cal1(a, b));
	printf("%d\n", cal2(a, b));
	printf("%d\n", cal3(a, b));

	return 0;
}